package com.kobeliu.service;

import com.kobeliu.pojo.Users;
import com.kobeliu.pojo.bo.ModifyUserBO;
import com.kobeliu.pojo.bo.ReviewCompanyBO;
import com.kobeliu.pojo.vo.UsersVO;
import com.kobeliu.utils.PagedGridResult;

import java.util.List;

public interface UserService {


    /**
     * 修改用户信息
     * @param bo
     */
    void modifyUserInfo(ModifyUserBO bo);

    /**
     * 根据id查询user
     * @param userId
     * @return
     */
    Users getUserById(String userId);

    /**
     * 根据companyId查询HR人数
     * @param companyId
     * @return
     */
    Long getCountByCompanyId(String companyId);

    /**
     * 绑定当前user和company的关系
     * @param userId
     * @param realName
     * @param companyId
     */
    void updateUserCompanyId(String userId, String realName, String companyId);

    /**
     * 修改用户角色为HR
     * @param hrUserId
     */
    void updateUser2Hr(String hrUserId);

    /**
     * 根据companyId获取list
     * @param companyId
     * @param page
     * @param limit
     * @return
     */
    PagedGridResult selectHrListByCompanyId(String companyId, Integer page, Integer limit);

    /**
     * 更改角色HR为普通用户
     * @param hrUserId
     */
    void changeUserToCand(String hrUserId);

    /**
     * 根据id集合拿取userVO集合
     * @param userIds
     * @return
     */
    List<UsersVO> getList(List<String> userIds);
}
